Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning

将Inception和Residual connection结合,提出了Inception V4

Inception结构有着良好的性能,且计算量低。Residual connection不同于传统网络结构,且在2015 ILSVRC取得冠军,它的性能和Inception-v3接近。作者尝试将Inception结构和Residual connection结合,提出了新的网络结构Inception-v4。Inception-v4在ImageNet分类比赛中,top-5的错误率为3.08%。

介绍

Residual connection使得训练更深的网络变得容易。Inception结构也使得网络变深。将Residual connection添加到Inception结构中,使得Inception结构得到Residual connection的“益处”,且保留计算的高效。

作者也尝试了不使用Residual connection,而是直接拓展Inception结构,使得它更深更宽。作者也设计了不用Residual connection版本的Inception-v4。

相关工作

卷积网络在图像识别领域已经十分流行,经典网络有AlexNet、VGGNet、GoogLeNet等。Residual connection的提出是用了训练更深的网络,但是作者发现不使用Residual connection也可以训练更新的网络,Residual connection并不是必要条件;只是使用了Residual connection会加快训练速度。

Inception结构最初由GoogLeNet引入,GoogLeNet叫做Inception-v1;之后引入了BatchNormalization,叫做Inception-v2;随后引入分解,叫做Inception-v3。

网络架构

Inception-v4共有四种结构,一种不包含Residual connection结构的;包含Residual connection结构的,根据包含Inception模块的不同又分为2种:Inception-ResNet-v1和Inception-ResNet-v2。

Inception-v4

下图是Inception-v4的结构:

inception_v4_09.jpg

Stem模块为:
inception_v4_03.jpg

下面分别为:Inception-A、Inception-B、Inception-C模块。
inception_v4_04.jpg
inception_v4_05.jpg
inception_v4_06.jpg

不同的Inception模块的连接,减小了feature map,却增加了filter bank。

35x35变为17x17模块,即Reduction-A
inception_v4_07.jpg

17x17变为8x8模块,即Reduction-B
inception_v4_08.jpg

Inception-ResNet

Inception-ResNet的两个版本,结构基本相同,只是细节不同。整体结构为:

inception_v4_15.jpg

Inception-ResNet的两个版本对应Inception-resnet-A、Inception-resnet-B、Inception-resnet-C略微不同。

其中Inception-ResNet-v1和Inception-ResNet-v2对应的Inception-resnet-A模块为:

inception_v4_10.jpg
inception_v4_16.jpg

其中Inception-ResNet-v1和Inception-ResNet-v2对应的Inception-resnet-B模块为:
inception_v4_12.jpg
inception_v4_17.jpg

其中Inception-ResNet-v1和Inception-ResNet-v2对应的Inception-resnet-C模块为:
inception_v4_13.jpg
inception_v4_19.jpg

Inception-ResNet的stem模块和Reduction-B模块也略微不同。Inception-ResNet-v1和Inception-ResNet-v2主要在于Reduction-A结构不同:
inception_v4_table01.jpg
其中k,l,m,n表示filter bank size。

缩放Residuals

当卷积核个数超过1000时,训练将会变得不稳定,在训练的早期,网络“died”。这是缩小Residuals有助于稳定训练,缩小因子介于0.1到0.3。

He在训练Residual Net时也发现这个问题,提出了“two phase”训练。首先“warm up”,使用较小的学习率。接着再使用较大的学习率。

训练方法

使用Momentum + SGM,momentum=0.9。使用RMSProp,decay为0.9,$\epsilon=1.0$。

学习率为0.045,每2个epoch缩小为原理的0.94。

实验结果

inception_v4_table02.jpg

文章目录
  1. 1. 介绍
  2. 2. 相关工作
  3. 3. 网络架构
    1. 3.1. Inception-v4
    2. 3.2. Inception-ResNet
    3. 3.3. 缩放Residuals
  4. 4. 训练方法
  5. 5. 实验结果
,
#add by kangyabing